Some programming languages, such as GROOVY, compile code into bytecode that is configured to be interpreted by a virtual machine into machine code. Some such languages may allow for the code being compiled to be modified at one or more stages during the compilation process. During the compilation process, a syntax tree may be created based on the code being compiled. In a programming language, such as GROOVY, this syntax tree may be modified before the bytecode is created.